package net.towee.model.discussion;

import net.towee.model.account.AccountIdentity;
import net.towee.model.repo.AttachmentIdentity;
import net.towee.model.repo.DocumentIdentity;

/**
 * This factory need for creating discussion and messages ready for saving in db
 * 
 * @author c58
 */
public interface DiscussionFactory {
	/**
	 * Create empty discussion
	 * 
	 * @param identity
	 * @return
	 */
	Discussion createDiscussion();
	
	/**
	 * Create message for discussion with given id and save it
	 * in DB
	 * 
	 * @param authorId
	 * @param text
	 * @param id
	 * @param subject TODO
	 * @return
	 */
	Message createMessage(String authorId, String text, String id, DiscussionSubject subject);
}
